#include <iostream>
using namespace std;
/*
//如何定义出一个类
class Stack{
//成员函数
public:
    void Push(int x);
    void Pop();
    void Empty();
//成员变量
private:
    int* _a;
    int _size;//当前大小
    int _capacity;//当前容量
};

//C和C++定义struct的区别,结构体前的struct可以不加，而且可以和class一样在里面定义函数
struct ListNode_C{
    int val;
    struct ListNode_C* _next;
    struct ListNode_C* _prev;
};
struct ListNode_CPP{
    int val;
    struct ListNode_CPP* _next;
    ListNode_CPP* _prev;
    //可以定义成员函数
};

int main(){
    //类的实例化
    Stack s1;
    //私有对象不能在外部赋值
    //s1._a = 10;
    return 0;
}
*/

class A{
private:
    int _a;
    char _c;
};
class B{
public:
    void Print();
};
class C{
};

int main(){
    //内存对齐——8
    cout<< sizeof(A)<<endl;
    //为什么空类没有成员变量的类大小是1？
    //开一个字节大小的数据不是为了存数据，而是为了占位，表示对象存在
    cout<< sizeof(B)<<endl;
    cout<< sizeof(C)<<endl;
    return 0;
}